A type of networkswitch, sometimes referred to as an OpenFlow switch, receives packets of a flow onto one of several input ports. For each such packet, the switch examines parts of the headers of the packet, and from these headers determines the flow to which the packet belongs. For each such flow of packets, the switch has been preconfigured so that it will output packets of that flow onto a predetermined one of the output ports. Such a switch can be thought of as having a data plane through which packets pass between input ports and output ports, and a control plane through which switch operation can be controlled and monitored. A protocol, known as the OpenFlow protocol, has been developed to standardize the control plane interface to such OpenFlow switches. In one type of operation, an OpenFlow controller sends an OpenFlow switch an OpenFlow message. This OpenFlow switch recognizes the standard OpenFlowmessage and responds by adding a flow entry to a flow table in the OpenFlow switch. The flow entry may, for example, include an instruction to apply if the switch receives a packet of the flow. If an incoming packet is received onto the OpenFlow switch, header information as set forth above is used to check the flow table to determine whether a flow entry for the flow is stored in the flow table. The identified flow entry indicates actions that are to be applied. An example of an action is to send the packet out of the OpenFlow switch via a particular output port.
In addition to the OpenFlow message that instructs an OpenFlow switch to add a flow entry into a flow table, there are other types of OpenFlow messages through which the OpenFlow controller can cause an OpenFlow switch to add, update, or delete flow entries from flow tables. The above description of OpenFlow switches, an OpenFlow controller, and the OpenFlow protocol is very simplified. For more detailed information on the OpenFlow protocol, see for example OpenFlow Switch Specification, Version 1.3.1 (Wire Protocol 0x04), Sep. 6, 2012, available from the Open Networking Foundation.